#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
typedef double STDataType;
typedef struct Stack
{
	STDataType* a;
	int Top;
	int Capacity;
}ST;
void StackInit(ST* ps);
void StackDestroy(ST* ps);
void StackPush(ST* ps, STDataType x);
void StackPop(ST* ps);
bool StackEmpty(ST* ps);
int StackSize(ST* ps);
STDataType StackTop(ST* ps);



typedef char CSTDataType;
typedef struct CStack
{
	CSTDataType* a;
	int Top;
	int Capacity;
}CST;
void CStackInit(CST* ps);
void CStackDestroy(CST* ps);
void CStackPush(CST* ps, CSTDataType x);
void CStackPop(CST* ps);
bool CStackEmpty(CST* ps);
int CStackSize(CST* ps);
CSTDataType CStackTop(CST* ps);
void CStackPrint(CST* ps);